//这里书写属性相关的API文件
import request from '@/utils/request'
import type {Attr, AttrResponseData} from './type'

//属性管理模块接口地址
enum API {
    //获取一级分类接口地址
    C1_URL = '/admin/product/getCategory1',
    //获取二级分类接口地址
    C2_URL = '/admin/product/getCategory2/',
    //获取三级分类接口地址
    C3_URL = '/admin/product/getCategory3/',
    //获取分类下的属性列表和属性值
    ATTR_URL = '/admin/product/attrInfoList/',
    //添加或者修改属性
    ADDORUPDATEATTR_URL = '/admin/product/saveAttrInfo',
    //删除属性
    DELETEATTR_URL = '/admin/product/deleteAttr/',
}

//获取一级分类的接口方法
export const reqC1 = () => request.get<any, any>(API.C1_URL)
//获取二级分类的接口方法
export const reqC2 = (category1Id: number | string) => {
    return request.get<any, any>(API.C2_URL + category1Id)
}
//获取三级分类的接口方法
export const reqC3 = (category2Id: number | string) => {
    return request.get<any, any>(API.C3_URL + category2Id)
}
//获取分类下的属性列表和属性值的接口方法
export const reqAttr = (category1Id: number | string, category2Id: number | string, category3Id: number | string) => {
    // return request.get<any, any>(API.ATTR_URL + category1Id + '/' + category2Id + '/' + category3Id)
    //另一种写法
    return request.get<any, AttrResponseData>(API.ATTR_URL+`${category1Id}/${category2Id}/${category3Id}`)
}
//添加或者修改属性的接口方法
export const reqAddOrUpdateAttr = (data:Attr) => {
    return request.post<any, any>(API.ADDORUPDATEATTR_URL, data)
}

//删除属性的接口方法
export const reqRemoveAttr = (attrId:number) => {
    return request.delete<any, any>(API.DELETEATTR_URL+attrId)
}

